////////////////////////////////////////
//	File Header
//	Author: Stephen Ringer | stephen.ringer@gmail.com
//	File: SAGARenderer.h
//
////////////////////////////////////////
#pragma once
////////////////////////////////////////
//	File Includes
#include "SAGARenderDevice.h"
//
////////////////////////////////////////

////////////////////////////////////////
//	Class: SAGARenderer
//	Purpose: 
//		To decide which Graphics API to use, and in turn which DLL to load
class SAGARenderer
{
private:
	SAGARenderDevice	*m_pDevice;
	HINSTANCE			m_hInst;
	HMODULE				m_hDLL;
public:
	SAGARenderer(HINSTANCE hInst);
	~SAGARenderer();

	HRESULT				CreateDevice(char *chAPI);
	void				Release();
	LPSAGARENDERDEVICE	GetDevice() {return m_pDevice;}
	HINSTANCE			GetModule() {return m_hDLL;}
};
//
////////////////////////////////////////

////////////////////////////////////////
//	Long Point Declaration to the Class
typedef class SAGARenderer *LPSAGARENDERER;
//
////////////////////////////////////////